package contable.aplicacion.contabilidad.inventario;

import contable.dominio.Cuenta;
import contable.dominio.Registro;
import java.util.Date;

/**
 *
 * @author jaime
 */
public class VentasCredito extends Ventas {

    @Override
    protected void registrarVenta(String codInv, double costo, double valor) {
        Cuenta cobro = new Cuenta();
        Cuenta ventas = new Cuenta();
        Cuenta inventario = new Cuenta();
        Cuenta costoVenta = new Cuenta();
        fsql.rollback(cobro, "125-001-000-000");
        fsql.rollback(ventas, "511-000-000-000");
        fsql.rollback(costoVenta, "423-000-000-000");
        fsql.rollback(inventario, codInv);
        cobro.cargar(valor);
        ventas.abonar(valor);
        ivaRetenido(cobro, calcularIva(valor));
        inventario.abonar(costo);
        costoVenta.cargar(costo);
        fsql.commit(cobro);
        fsql.commit(ventas);
        fsql.commit(inventario);
        fsql.commit(costoVenta);
        registro = new Registro(new Date(), "Se registro la venta de " + inventario.getNombre() + " al credito", valor, periodo, inventario, cobro, costoVenta, ventas);
        fsql.commit(registro);
    }

    @Override
    protected void ivaRetenido(Cuenta cobro, double valor) {
        Cuenta ivaDebito = new Cuenta();
        fsql.rollback(ivaDebito, "214-004-004-000");
        ivaDebito.abonar(valor);
        cobro.cargar(valor);
        fsql.commit(ivaDebito);
    }
}
